/*
 * pruebasFabrica.h
 *
 *  Created on: Oct 16, 2009
 *      Author: Federico Carrone
 */

#ifndef PRUEBASFABRICA_H_
#define PRUEBASFABRICA_H_

#include "../includes.h"
#include "../funciones.h"

void pruebaCosaMetadata() {

    stringstream metadata;

    Toolkit::UnidadAlmacenamiento uEscribir, uLeer;
    Toolkit::TipoIndexado iEscribir, iLeer;
    bool bLeer, bEscribir;

    uEscribir = Toolkit::A_BLOQUES;
    iEscribir = Toolkit::HASHING_EXTENSIBLE;
    bEscribir = true;

    std::string aux = intToStr((int)uEscribir, 1);
    metadata.write(aux.c_str(), aux.size());

    aux = intToStr((int)iEscribir, 1);
    metadata.write(aux.c_str(), aux.size());

    aux = intToStr((int)bEscribir, 1);
    metadata.write(aux.c_str(), aux.size());


    char* buffer = new char [1];

    metadata.read(buffer, 1);
    uLeer = (Toolkit::UnidadAlmacenamiento) strToInt(string(buffer));

    metadata.read(buffer, 1);
    iLeer = (Toolkit::TipoIndexado) strToInt(string(buffer));

    metadata.read(buffer, 1);
    bLeer = (bool) strToInt(string(buffer));

    delete []buffer;

    std::cout << (uLeer == uEscribir) << std::endl;
    std::cout << (iLeer == iEscribir) << std::endl;
    std::cout << (bLeer == bEscribir) << std::endl;

    std::cout << (int)uLeer << endl;
    std::cout << (int)uEscribir << endl;

}



#endif /* PRUEBASFABRICA_H_ */
